因為今天要出門,只能用搭車的時間看看文件和程式碼。昨天 Gemini 說可以用 Cloud Build Trigger 執行 CD,所以剩下的問題就在於部署 Vertex AI 使用到的函式。
如果有個設定能把本地寫的 Agent package 也序列化並上傳到 Cloud Storage Bucket,就可以解決問題。以往在沒有 AI 協助的情況下,我只能開啟套件的原始碼,開始了解程式邏輯,期盼能找到沒寫在文件裡但能解決一切的關鍵參數。
但現在我們有 LLM 可以幫忙處理!有個工具叫做 DeepWiki,它可以為 GitHub 專案建立文件,完整程度甚至比人類還好,還能夠直接問問題,對於快速了解專案是個非常好用的工具。
要看的套件是 python-aiplatform,如果要在 DeepWiki 瀏覽的話只要把網址的 github.com
換成 deepwiki.com
即可 DeepWiki python-aiplatform。
我首先問了一個問題,了解 Agent 的部署流程。DeepWiki 說 agent_engines.create
函式會建立和部署 Agent,在部署之前會先進行驗證及檔案準備,包裝 Agent 後上傳到 Cloud Storage,最後依照 ReasoningEngineSpec
類別設定好。
這時就有個疑問:設定時的 staging_bucket
是必要的嗎?
DeepWiki 回答,在部署時 staging_bucket
是需要的,它會被用來儲存序列化的 Agent、requirements.txt
和相依套件。所以如果要能夠上傳本地 Agent package ,就要在序列化時就一併包進去。
再問了一下序列化流程與是否能夠使用本地套件的 Agent,得到的答案是:序列化使用 cloudpickle
,流程是 pickling -> validation -> upload
。如果要把本地 Agent package 也包上去的話,只要在 extra_packages
參數放入檔案或目錄就可以了!
所以接下來要做的事情有:
deploy_agent.py
設定好 agent_engines.create
的參數。cloudbuild.yaml
提供部署環境。至於實作部分,就等明天有電腦時再繼續吧。